[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
SHARE.EXE hooks (DOS 3.1-4.01):
(offsets from first system file table--pointed at by ListOfLists+04h)
Offset Size Description
-3Ch DWORD pointer to FAR routine for ???
-38h DWORD pointer to FAR routine for ???
-34h DWORD pointer to FAR routine called on closing file???
-30h DWORD pointer to FAR routine for ??? (called by AX=5D03h)
-2Ch DWORD pointer to FAR routine for ??? (called by AX=5D04h)
-28h DWORD pointer to FAR routine for ??? (called by AX=5D02h)
-24h DWORD pointer to FAR routine to lock region of file
call with BX = file handle
CX:DX = starting offset
SI:AX = size
Return: CF set on error
AL = DOS error code (see AH=59h)
Note: only called if file is marked as remote
-20h DWORD pointer to FAR routine to unlock region of file
call with BX = file handle
CX:DX = starting offset
SI:AX = size
Return: CF set on error
AL = DOS error code (see AH=59h)
Note: only called if file is marked as remote
-1Ch DWORD pointer to FAR routine to check if file region is locked
call with ES:DI -> system file table entry for file
CX = length of region from current position in file
Return: CF set if any portion of region locked
AX = 0021h
-18h DWORD pointer to ??? (called by AX=5D05h)
Return: CF set on error or not loaded
CF clear if successful
ES:DI -> ???
CX = ???
DX = ???
-14h DWORD pointer to FAR routine for opening FCB???
call with ES:DI -> unopened FCB
DS:SI -> system file table entry
Return: BL = C0h???
Note: calls following fields from FCB to SFT:
starting cluster of file 1Ah 0Bh
sharing record offset 1Ch 33h
file attribute 1Eh 04h
-10h DWORD pointer to FAR routine for ???
call with ES:DI -> system file table entry
DS:SI -> FCB
Return: CF set if SFT closed or sharing record offsets
mismatched
CF clear if successful
BX = starting cluster number from FCB
-0Ch DWORD pointer to FAR routine for ???
Note: called during open/create of a file
-08h DWORD pointer to FAR routine for ???
-04h DWORD pointer to FAR routine to update directory info in
related SFT entries
call with ES:DI -> system file table entry for file (see below)
AX = subfunction
00h: update time stamp (offset 0Dh) and date
stamp (offset 0Fh)
01h: update file size (offset 11h) and starting
cluster (offset 0Bh). Under some
circumstances sets last read cluster
fields to start of file
02h: as function 01h, but last-read fields
always changed
03h: do both functions 00h and 02h
Note: follows ptr at offset 2Bh in system file table entries
See Also:
INT 21h, 52h
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson